﻿Imports System.Collections.ObjectModel
Imports System.IO

Public Class TipoArchivo
    Private ReadOnly _archivos As New List(Of String)
    Private _tamaño As Long
    Private ReadOnly _tipo As String

    Sub New(ByVal tipo As String)
        _tipo = tipo
    End Sub

    Public ReadOnly Property NumeroArchivos As Integer
        Get
            Return _archivos.IndexOf(_archivos.Last) + 1
        End Get
    End Property

    Public ReadOnly Property Archivos As ReadOnlyCollection(Of String)
        Get
            Return _archivos.AsReadOnly
        End Get
    End Property

    Public ReadOnly Property Tamaño As Long
        Get
            Return _tamaño
        End Get
    End Property

    Public ReadOnly Property Tipo As String
        Get
            Return _tipo
        End Get
    End Property

    'Esto es buggy! Mejorar el código para que no tenga problema manejando direcciones que se pasan de 273 caracteres!
    Public Sub NuevoArchivo(ByVal rutaNuevoArchivo As String)
        Dim detallesArchivo As FileInfo = My.Computer.FileSystem.GetFileInfo(rutaNuevoArchivo)
        _tamaño += detallesArchivo.Length
        _archivos.Add(rutaNuevoArchivo)
    End Sub
End Class
